package com.bot.nft.module.op.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 空投活动信息Vo
 * </p>
 *
 * @author zhangkaige
 * @since 2024-01-24
 */
@Getter
@Setter
public class OpAirInfoVo {

    /**
     * 空投活动标识
     */
    private String id;

    /**
     * 空投活动名称
     */
    private String name;

    /**
     * 快照时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date snaTime;

    /**
     * 空投活动执行时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date exeTime;

    /**
     * 状态（0 禁用，1 启用，2 已快照，3 已执行 ）
     */
    private Integer status;

    /**
     * 限制类型
     */
    private String conType;

    /**
     * 投递类型（0 合成，1 空投，2 有限购）
     */
    private String deliveryType;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新人
     */
    private String updateUser;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 持有限制条件
     */
    private List<OpAirHoldLimitVo> opAirHoldLimitVos;

    /**
     * 空投白名单
     */
    private List<OpAirListVo> opAirListVos;

    /**
     * 空投藏品
     */
    private List<OpAirNftVo> opAirNftVos;
}
